#ifndef TEXTURETOOL_H
#define TEXTURETOOL_H
#include "PatchStomper/StomperModel.h"
#include "StompedReality/Asset/TextureInfo.h"
#include "StomperLib/ToolElement.h"

namespace PatchStomper {

class TextureTool : public StomperLib::ToolElement
{
 public:

  //! \brief	Constructor.
  TextureTool( StomperLib::BaseLayout* layout, StompedReality::IGame* game, StomperLib::EditorCamera* camera );

  //! \brief	Destructor.
  ~TextureTool( );

  void Draw( );
  bool Update( );

 public:

  void OnOpenTexture( Gwen::Event::Info information );

 private:

  void CreateGui( StomperLib::BaseLayout* layout );

 private:

  void OnSelectToolActivate( );
  void OnRectangleToolActivate( );
  void OnAddByGridButton( );
  void OnNotAddByGridButton( );
  void OnDeleteToolActivate( );
  void OnTranslationToolActivate( );
  void OnRotateToolActivate( );
  void OnResizeToolActivate( );

  void SetMode( int mode );

  StompedReality::Asset::TextureInfo* m_TextureInfo;

  void RenderTexture( );

  void ResetCamera( );

 private:

  bool m_WasGridActive;
  std::function<bool(StomperLib::EditorObjectInfo*)> SelectionFunction;
};

}
#endif // ifndef TEXTURETOOL_H*/